﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
//responsável pela conexão com sql
using System.Data.SqlClient;

namespace splashScreen
{
    public partial class Login : Form
    {
        SqlConnection conect = new SqlConnection("Data Source=localhost;Initial Catalog=PDSD;Persist Security Info=True;User ID=sa;Password=senha");
        public Login()
        {
            Thread t = new Thread(new ThreadStart(SplashScreen));
            t.Start();
            Thread.Sleep(5000);
            InitializeComponent();
            t.Abort();
        }

        public void SplashScreen() {
            Application.Run(new TelaSplash());
        }

        private void button1_Click(object sender, EventArgs e)
        {

            try
            {
                //verifica se os campos estão preenchidos
                if ((Usuario.Text != "") && (Senha.Text != ""))
                {
                    SqlCommand cmd = new SqlCommand("Select * from Usuario where username = @Usuario and password = @Senha and tipoUsuario = 'administrador'", conect);

                    //Parametizar os codigos
                    cmd.Parameters.Add("@Usuario", SqlDbType.VarChar).Value = Usuario.Text;
                    cmd.Parameters.Add("@Senha", SqlDbType.VarChar).Value = Senha.Text;

                    //abre a conexão
                    conect.Open();
                    SqlDataReader reader = null;
                    //lê as linhas de uma base de dados sql
                    reader = cmd.ExecuteReader();
                    //se tiver dados leia
                    if (reader.Read())
                    {
                        TelaPrincipal t = new TelaPrincipal();
                        //esconde o formulario de lofin
                        this.Hide();
                        //abre a janela principal
                        t.Show();
                    }
                    else
                    {
                        MessageBox.Show("Você não é administrador do sistema ou seu Login e senha estão incorretos", "Aviso de Segurança", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    }
                }
                else
                {
                    MessageBox.Show("Preencha todos os campos", "Aviso de Segurança", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }

            }

            catch (Exception ex)
            {
                //Gerar a exceção
                MessageBox.Show(ex.Message);
            }
            finally
            {
                //Fecha a conexão
                conect.Close();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void Login_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }

    }
}
